package com.example.demo.event.base;

import java.io.Serializable;

/**
 * 事件源包装器
 */
public class EventSource<T extends Serializable> {
    /**
     * 事件源对象，用于传递参数之类使用
     */
    private T source;

    /**
     * 这里的action可以用于识别具体动作，可能有的事件响应有很多监听器，区别后可以避免重复响应
     */
    private String action;

    public EventSource(T source) {
        this.source = source;
    }

    public EventSource(T source, String action) {
        this.source = source;
        this.action = action;
    }

    public T getSource() {
        return source;
    }

    public void setSource(T source) {
        this.source = source;
    }

    public String getAction() {
        return action;
    }

    public void setAction(String action) {
        this.action = action;
    }
}
